package fr.utbm.gl52.smartgrid.util.properties;

/**
 * Generic interface for properties. Properties are defined by a name, a value
 * (and hence, a type), and an error (boolean)
 * 
 * @author maxime.oger@utbm.fr
 * @author francois.laithier@utbm.fr
 * 
 * @version 1.0
 */
public interface Properties<E> {

	/*
	 * Setters
	 */

	void setName(String name);

	void setValue(E e);

	void setType(Class<E> c);

	void setError(boolean hasError);

	/*
	 * Getters
	 */

	String getName();

	E getValue();

	Class<E> getType();

	boolean hasError();

}
